home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d8 / zcomd506.arc / ZCOMMDOC.AH < prev    next >
Text File  |  1991-05-06  |  73KB  |  1,771 lines

  1.  
  2.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  3.         ZCOMM User Manual                                                  211
  4.  
  5.         bbs May contain a shell escape command to activate a Bulletin Board
  6.             program via a DOS Gateway.  The bbs string parameter is always
  7.             processed as a shell escape command, and should not include a
  8.             leading "!".  For security reasons, it should specify an absolute
  9.             pathname.
  10.  
  11.             EXAMPLE: set bbs "~bbsprog"
  12.  
  13.  
  14.         blankfill When transmitting a file with the term function with p, r,
  15.             or w modes, ZCOMM sends the contents of blankfill (if set) to
  16.             prevent the remote from receiving a blank (empty) line.  (Some
  17.             programs interpret a blank line as an exit from text entry.) ZCOMM
  18.             Character Escapes must be used to represent control characters.
  19.             If blankfill is empty, nothing is sent. The call command resets
  20.             blankfill to empty.
  21.  
  22.         break Stores a string or command to be executed by the Ctrl-Break key
  23.             instead of the default 100 ms break.
  24.  
  25.             EXAMPLE: Some Novation modems cannot pass a break signal:
  26.  
  27.               set break "@break putw %B\336\ 1\r putw %U\336\ 0\r"
  28.  
  29.             Causes the break key to send a break to get the modem's attention,
  30.             then tells the modem to send the break itself, and finally
  31.             restores
  32.  
  33.             the modem's ersatz "transparent" mode.
  34.  
  35.             SEE ALSO: break command
  36.  
  37.         bs  Stores an alternate string or command to be executed by the
  38.             backspace key when in the term function.
  39.  
  40.         c   When the h or s string parameters is accessed, the hundredths of a
  41.             second are stored in the c string parameter.  The accuracy and
  42.             precision of this quantity depend on the operating environment.
  43.  
  44.         call1 ** Sets the string to be sent to the modem or command to be
  45.             executed before each time ZCOMM scans for outgoing message control
  46.             scripts.  Typically this would consist of a modem command
  47.             disabling autoanswer, to allow outgoing calls.  This string is not
  48.             used if callpath is empty.
  49.  
  50.             EXAMPLE: set call1 "ATMS0=0\r" (Hayes Modem)
  51.  
  52.  
  53.         call2 Sets the string to be sent to the modem or command to be
  54.             executed each time ZCOMM begins to wait for a call in Host State.
  55.             Typically this would command the modem to enable autoanswer for
  56.  
  57.  
  58.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  59.  
  60.  
  61.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  62.         ZCOMM User Manual                                                  212
  63.  
  64.             incoming calls.
  65.  
  66.             EXAMPLE: set call2 "ATMS0=1\r" (Hayes Modem)
  67.  
  68.  
  69.         call3 * Sets the string to be sent to the modem or command to be
  70.             executed each time ZCOMM begins waiting for incoming calls.
  71.             Typically this would consist of a lput command to display an
  72.             informational message on the local screen.  Note that such a
  73.             message will remain on the screen for long periods of time,
  74.             possibly creating an afterimage on the CRT display.
  75.  
  76.             EXAMPLE: set call3
  77.             @lput "\n\nAwaiting Incoming Call.  Press F1 to exit.\n"
  78.  
  79.  
  80.         callers A pathname in which a log of successful host state logins is
  81.             kept.  If callers is null (the default), no log is kept.
  82.  
  83.         calllog * The filename that contains the log of successful autodialed
  84.             calls.  If empty (the default), this function is disabled.  A
  85.             typical entry with 6.3 minutes connect time with a system called
  86.             cis02 is shown.
  87.             C 2143:22 01-25-84 1200 c:226-0627  63 cis02
  88.  
  89.         callpath ** Sets the ambiguous pathname that scans for scripts to
  90.             transmit outgoing messages.  If empty (the default), no scans are
  91.             made.
  92.  
  93.             EXAMPLE: set callpath "/tmp/outmsg.*"
  94.  
  95.             NOTE: The "disks" string parameter must be set to include any
  96.             drive specified in "callpath".
  97.  
  98.             SEE ALSO: call1, call2 string parameters
  99.  
  100.         challenge is executed when the caller connects and handshakes to
  101.             determine transmission speed.  This script runs without
  102.             restriction, and should check for carrier after each reading of
  103.             data.
  104.  
  105.             EXAMPLE: set challenge "@gosub .%lib/challeng.t"
  106.  
  107.  
  108.         d   Is set to the date when called, in the form "mmdd".
  109.  
  110.             EXAMPLE: t cia%d.TXT If the date is December 7, ZCOMM enters the
  111.             term function with capture to KGB1207.txt
  112.  
  113.  
  114.             EXAMPLE: create -st+ cbbs%d.tmp
  115.  
  116.  
  117.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  118.  
  119.  
  120.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  121.         ZCOMM User Manual                                                  213
  122.  
  123.             SEE ALSO: h, t string parameters
  124.  
  125.         drive Is set to the current default disk drive letter when ZCOMM
  126.             starts and when logging into a new disk drive with an A: command.
  127.             nodename, altprompt, mprompt, hprompt string parameters
  128.  
  129.         dircx
  130.  
  131.         dirpx
  132.  
  133.         dirfx
  134.  
  135.         dirrx
  136.  
  137.         dirsx String parameters for default/override directories.  Their uses
  138.             are described in Chapter 16.
  139.  
  140.         disks Contains the disks that may be logged into with with the d:
  141.             command where "d" is the drive letter, or that may appear as part
  142.             of a pathname.  If empty (the default), drive letters are not
  143.             checked.  This parameter should be set to prevent local or remote
  144.             users from hanging the system by accessing an off-line disk drive.
  145.             This string must be entered in lower case.
  146.  
  147.             EXAMPLE: set disks "abc"
  148.  
  149.  
  150.             SEE ALSO: home, rdisks string parameters
  151.  
  152.         dport Contains the name of the active communications port, otherwise
  153.             empty.
  154.  
  155.             SEE ALSO: port command
  156.  
  157.         drive Contains the drive letter of the current default DOS disk drive.
  158.  
  159.         emdir A directory pathname for incoming electronic mail files.  emdir
  160.             affects twxfile unless twxfile is an absolute path.  emdir is also
  161.             used for incoming electronic mail using the YMODEM Batch protocol
  162.             in the absence of a login.
  163.  
  164.             EXAMPLE: set emdir "/memo"
  165.  
  166.  
  167.         entstr If entstr is set, ZCOMM sends the contents of entstr when ENTER
  168.             (carriage return key) is keyboarded in the term function, unless n
  169.             mode is in effect.  ZCOMM Character Escapes must be used to
  170.             represent control characters.  If entstr is empty, a carriage
  171.             return is sent.  The "call" command resets entstr to empty.
  172.  
  173.             EXAMPLE: set entstr "\3"
  174.  
  175.  
  176.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  177.  
  178.  
  179.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  180.         ZCOMM User Manual                                                  214
  181.  
  182.             sends an ETX (octal 3) when Enter is keyboarded.  This is handy
  183.             for some computer systems that expect keyboarded lines to be
  184.             terminated with something other than the usual carriage return.
  185.             NOTE: The characters in entstr are always sent at full speed.
  186.  
  187.             SEE ALSO: eolstr string parameter
  188.  
  189.         eolstr When transmitting a file with the term function with p, r, or w
  190.             modes, ZCOMM sends the contents of eolstr (if set) to terminate
  191.             the line.  ZCOMM Character Escapes must be used to represent
  192.             control characters.  If eolstr is empty, a carriage return is
  193.             sent. The "call" command resets eolstr to empty.
  194.  
  195.             EXAMPLE: set eolstr "\r."
  196.  
  197.             sends a carriage return followed by a period at the end of each
  198.             line read from the transmit file.
  199.             NOTE: The characters in eolstr are always sent at full speed.
  200.  
  201.             SEE ALSO: entstr, blankfill string parameters
  202.  
  203.         esc Stores an alternate string or command to be executed by the ESC
  204.             key when in term function.
  205.  
  206.         etx Stores an alternate string or command to be executed by ETX
  207.             (Ctrl-C) when in the term function.
  208.  
  209.         exrc Is sent to the modem/executed when an interactive Host Operation
  210.             session logs out.
  211.  
  212.             EXAMPLE: set exrc "@handshake off; set disks c" turns off flow
  213.             control handshaking and resets the disks parameter in case
  214.             privileged (unrestricted) callers modify this parameter.
  215.  
  216.  
  217.         h   is set to the hour of the day in the form hhmm.
  218.  
  219.             EXAMPLE: echo "It is now %h Hours"
  220.             displays: It is now 1930 Hours.
  221.  
  222.  
  223.             SEE ALSO: hh, mm, d, t string parameters
  224.  
  225.         helpfile The pathname that contains the online help file.  You may
  226.             wish to set this in the phone directory "setup" entry.  Iff
  227.             helpfile begins with the character @, the rest of helpfile is
  228.             treated as a Zcomm command.
  229.  
  230.             SEE ALSO: xhelpfile string parameters, help command, T test
  231.             condition
  232.  
  233.  
  234.  
  235.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  236.  
  237.  
  238.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  239.         ZCOMM User Manual                                                  215
  240.  
  241.         hh  is set to the hour of the day in the form hh.
  242.  
  243.             EXAMPLE: echo "It is now hour %h."
  244.             displays: It is now hour 09.
  245.  
  246.  
  247.             SEE ALSO: h, mm, d, t string parameters
  248.  
  249.         home When ZCOMM is invoked, home is set to the current directory.
  250.             When the "cd" command is given without an argument, the directory
  251.             is changed to the contents of home.  When ZCOMM is Restricted,
  252.             absolute pathnames (those beginning with \ or /) must have home as
  253.             a prefix.  This restricts unprivileged users to the directory
  254.             given in home and/or its subdirectories on any of the disks
  255.             allowed by the disks string parameter.  When changing the value of
  256.             home, use slashes (/) and not backslases (\), and do not use a
  257.             disk identifier.
  258.  
  259.             SEE ALSO: disks string parameter
  260.  
  261.         hprompt Overrides the default host operation command prompt.
  262.  
  263.             SEE ALSO: altprompt, mprompt, nodename, drive, pwd string
  264.             parameters
  265.  
  266.         id0-id3 General purpose string parameters that may be used to hold ID
  267.             strings (user account numbers) for script login applications.
  268.  
  269.         ifs The "Internal Field Separator" string contains the default
  270.             characters to be used by the split command to parse a string into
  271.             fields.
  272.  
  273.         item * When the expand command is executing a script, the item string
  274.             parameter is set to the pathname of the matched file.
  275.  
  276.         intolink * A command that is executed or a string sent to the modem
  277.             when ZCOMM enters the link command.
  278.  
  279.             EXAMPLE: set intolink "\r" sends CR to the linked computer.
  280.  
  281.  
  282.             EXAMPLE: set intolink "@portx 0f8,2" selects a nonstandard link
  283.             port.
  284.  
  285.             SEE ALSO: linkpass, outalink string parameters
  286.  
  287.         kermreset A string (up to 32 characters) may be sent by Pro-YAM's
  288.             Kermit when it attempts to recover from a transmission error.  The
  289.             default value for this string is empty.  Two metacharacters are
  290.             special: \336 inserts a one second pause, \335 sends a break.
  291.  
  292.  
  293.  
  294.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  295.  
  296.  
  297.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  298.         ZCOMM User Manual                                                  216
  299.  
  300.         l   l (letter l) indicates selection of a long distance carrier for
  301.             calls to other area codes.  It is set to "1" as a default.  l may
  302.             be set to the access code of the particular alternate long
  303.             distance service desired with a "set" command.
  304.  
  305.             SEE ALSO: m string parameter
  306.  
  307.         lib A string variable which may be used to indicate the directory
  308.             containing scripts.
  309.  
  310.         linkpass * If set, callers must enter this password when accessing the
  311.             link command.
  312.  
  313.         lpnono Do not send any of the characters in lpnono to the printer.
  314.             lpnono may use ZCOMM Character Escapes to represent control
  315.             characters.
  316.  
  317.             EXAMPLE: set lpnono "\023" prevents the printer from receiving the
  318.             DC3 (XOFF) character that places some printers off line.
  319.  
  320.  
  321.             EXAMPLE: set lpnono "\7" prevents the printing of bell characters.
  322.  
  323.  
  324.             SEE ALSO: l mode
  325.  
  326.         m   m is used to indicate selection of a long distance carrier for
  327.             calls within the same area code.  It is set to "1" as a default.
  328.             m may be set to the access code of the particular alternate long
  329.             distance service desired with a "set" command.  It is separate
  330.             from the l string parameter because the default "1" prefix may not
  331.             work if the area code is given, but some alternative long distance
  332.             services require the area code to be specified for calls within
  333.             the same area code.
  334.  
  335.             SEE ALSO: l string parameter
  336.  
  337.         mcommand A command that is executed instead of ZCOMM's built in
  338.             dialing routine.
  339.  
  340.             This may be either "gosub dial" which would access the "dial"
  341.             entry in the phones file, or "source /dial" which would access the
  342.             script from a separate file.  The second method allows a separate
  343.             "dial" file for each machine, but requires one more file to be
  344.             kept track of.
  345.  
  346.             Note that mcommand does not start with an @.  The default value is
  347.             empty, disabling this function.
  348.  
  349.             EXAMPLE: set mcommand "gosub dial"
  350.  
  351.  
  352.  
  353.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  354.  
  355.  
  356.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  357.         ZCOMM User Manual                                                  217
  358.  
  359.             SEE ALSO: telno string parameter
  360.  
  361.         mconnect A command that is executed or string that is sent to the
  362.             modem when the modem makes a connection.  A typical use is to set
  363.             transparent mode for some Novation modems.  The default value is
  364.             empty, disabling this function.
  365.  
  366.         menu The filename that contains the script accessed by the menu
  367.             command.
  368.  
  369.             EXAMPLE: set menu /host/menu.hst
  370.  
  371.  
  372.         messages Messages entered with the message command are appended to
  373.             this pathname.  By convention, this file should be readable when
  374.             ZCOMM is running in Restricted host mode.
  375.  
  376.             EXAMPLE: set messages "/host/messages"
  377.  
  378.  
  379.         mprefix A command that is executed or a string that is sent to the
  380.             modem as a prefix to dialing a number.  The default ATD works with
  381.             the Hayes Smartmodem(TM) 1200.  ATDT instructs the modem to use
  382.             DTMF (Touch Tone(TM)) dialing instead of pulse dialing.  Character
  383.             escapes may be used.
  384.  
  385.         mm  is set to the minute of the hour. It expands to the form mm.
  386.  
  387.             EXAMPLE: echo "It is now %h minutes past the hour"
  388.             displays: It is now 30 minutes past the hour.
  389.  
  390.  
  391.             SEE ALSO: h, hh, d, t string parameters
  392.  
  393.         mprompt Overrides the default main command prompt.
  394.  
  395.             EXAMPLE: set mprompt "\r\E[1m%drive:\L%pwd <<<\E[m "
  396.             Display the current disk drive (%c) and directory (%pwd)
  397.             highlighted (\E[1m) and in lower case (\L).
  398.  
  399.             N.B.: If you access Unix systems with ZCOMM, choose an mprompt
  400.             string that is distinct from your Unix prompt.
  401.  
  402.             EXAMPLE: set mprompt "\r\E[1m%nodename:%drive:\L%pwd <<<\E[m "
  403.  
  404.  
  405.             SEE ALSO: altprompt, hprompt, nodename, drive, pwd string
  406.             parameters
  407.  
  408.         msuffix A command that is executed or a string sent to the modem after
  409.             the last digit in the phone number.  Most intelligent modems
  410.  
  411.  
  412.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  413.  
  414.  
  415.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  416.         ZCOMM User Manual                                                  218
  417.  
  418.             require the default value of "\r".
  419.  
  420.         n0-n9 General purpose string parameters.
  421.  
  422.         nodename Contains the node name given to individual Unix and Xenix
  423.             systems.  On other systems this must be set by a script.
  424.  
  425.             SEE ALSO: Unix uname command
  426.  
  427.         oname1...oname5 contains the information stored by the args string
  428.             parameter for each level.
  429.  
  430.         oncloserx Optional user exit commands to execute after each file is
  431.             received with a protocol file transfer.* Its use is described in
  432.             Chapter 13.
  433.  
  434.         onclosetx Optional user exit commands to execute after each file is
  435.             sent with a protocol file transfer.* Its use is described in
  436.             Chapter 13.
  437.  
  438.         onexit Optional commands to execute as ZCOMM exits to the operating
  439.             system.
  440.  
  441.             EXAMPLE: set onexit "@echo GOODBYE!!"
  442.  
  443.  
  444.         outahost A command that is executed or a string sent to the modem when
  445.             ZCOMM exits host operation with a F1 or ALT-N key.
  446.  
  447.             EXAMPLE: set outahost ATZ\r sends the ATZ command to a Hayes modem
  448.             to restore its default no autoanswer state.
  449.  
  450.  
  451.         outalink * A command that is executed or a string sent to the modem
  452.             when ZCOMM exits the link command.
  453.  
  454.             EXAMPLE: set outalink "@kill; px0" clears the circular buffer and
  455.             prevents restricted callers from accessing the link command.
  456.  
  457.  
  458.             SEE ALSO: intolink string parameter
  459.  
  460.         parity Contains a string representation of the number of data bits and
  461.             parity, such as 8n.
  462.  
  463.         password Changes the password callers must enter to gain access to
  464.             your computer when ZCOMM is in host operation.  If password is
  465.             empty no password will be demanded.
  466.  
  467.             EXAMPLE: set password "Change This Already"
  468.  
  469.  
  470.  
  471.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  472.  
  473.  
  474.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  475.         ZCOMM User Manual                                                  219
  476.  
  477.             SEE ALSO: challeng.t script, demand command
  478.  
  479.         phones The filename that contains the telephone directory entries and
  480.             associated commands used with the call and gosub commands.  The
  481.             default is "/PHODIR.t".  The default may be changed at
  482.             installation time by the putsnp program.  The DOS environment
  483.             variable PHONES will override the default when ZCOMM is started.
  484.             Finally, a set command may be used to change the telephone
  485.             directory once ZCOMM has started.
  486.  
  487.         picture The filename used by the ALT-Z command to "zap" a copy of the
  488.             display memory to the specified file.
  489.  
  490.         plog The filename that contains the file transfer performance log.  If
  491.             empty (the default), this function is disabled.
  492.  
  493.         private Pathname that messages are stored into by the private command.
  494.             This file should NOT be readable when ZCOMM is running in
  495.             Restricted host mode.
  496.  
  497.             EXAMPLE: set private "/private"
  498.  
  499.  
  500.         pw0-pw3 General purpose string parameters for holding passwords.  If
  501.             defined with a set _pw0 "secretpw" command, it will be cleared
  502.             with the next call command.
  503.  
  504.         pwd This parameter is set to the current working directory by each cd
  505.             and pwd command.
  506.  
  507.         quitcmd Sets the string to be sent to the modem or command to be
  508.             executed when a protocol file transfer has been completed if the
  509.             ALT-Q key was typed during that transfer.
  510.  
  511.             EXAMPLE: set quitcmd t\r\336\r\336\r\025off\r would send t<ENTER>,
  512.             a pause, <ENTER>, a pause, <ENTER>, and ^Uoff<ENTER>.  This
  513.             sequence may be useful for automatically logging off Compuserve
  514.             after downloading a file.
  515.  
  516.  
  517.             SEE ALSO: ALT-Q special key
  518.  
  519.         rcmdlog * The filename that contains the log of commands issued
  520.             remotely (in Host Operation) along with the time, transmission
  521.             speed, and the name of the caller.  If set to "prn", the commands
  522.             are logged on the printer.  A highly buffered printer, hard disk
  523.             file or ramdisk file is recommended because this file will be
  524.             opened and closed for each host command.  If empty (the default),
  525.             this function is disabled.
  526.  
  527.             EXAMPLE: set rcmdlog D:rcmds
  528.  
  529.  
  530.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  531.  
  532.  
  533.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  534.         ZCOMM User Manual                                                  220
  535.  
  536.         rdisks Contains the disks that may be logged into with with the d:
  537.             command where "d" is the drive letter, or that may appear as part
  538.             of a pathname, when ZCOMM is Restricted.  If empty (the default),
  539.             drive letters are not checked against this parameter.  (Drive
  540.             letters are always checked with the disks parameter.) The rdisks
  541.             parameter is used to prevent restricted remote users from
  542.             accessing private data files.  This string must be entered in
  543.             lower case.
  544.  
  545.             EXAMPLE: set rdisks "c"
  546.  
  547.  
  548.             SEE ALSO: home, disks string parameters
  549.  
  550.         remote ZCOMM reads The full name of the remote system from the
  551.             telephone directory entry when the call command is given.
  552.  
  553.             EXAMPLE: call omen using the omen entry in the distributed
  554.             PHODIR.t file assigns omen-tech to the remote string parameter.
  555.  
  556.             In Host Operation, the caller's name is read into remote.
  557.  
  558.             SEE ALSO: call command, xpassword string parameter, \PXXXX
  559.             character escape
  560.  
  561.         rmtcheck Sets the string to be sent to the modem or command to be
  562.             executed each time ZCOMM accepts a command line or ZMODEM protocol
  563.             Command Download from the remote caller when in Host Operation,
  564.             before that command is executed.
  565.  
  566.             SEE ALSO: rmtcmd, pwd string parameters
  567.  
  568.             EXAMPLE: set rmtcheck "@source D:remcheck.t"
  569.  
  570.  
  571.         rmtcmd Contains the command line entered by the caller or received by
  572.             ZMODEM protocol Command Download in Host Operation.  This may be
  573.             modified by an unrestricted script invoked via the rmtcheck string
  574.             parameter.
  575.  
  576.             SEE ALSO: rmtcheck string parameter, checkrmt.t script
  577.  
  578.         rname * Contains the name of the last file received by a protocol,
  579.             successful or not.
  580.  
  581.         rub Assigns a string or command to the RUBOUT (Shift Backspace) key.
  582.  
  583.         rxcnt A three digit number which counts the number of files that have
  584.             been created for receiving.  An incoming file with an illegal name
  585.             is changed to rename.n with n is incremented from the value stored
  586.             in rxcnt (or 0).
  587.  
  588.  
  589.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  590.  
  591.  
  592.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  593.         ZCOMM User Manual                                                  221
  594.  
  595.         rxlog * The filename that contains the log of received files.  If
  596.             empty (the default), this function is disabled.
  597.  
  598.         s   * Contains the current time in seconds since the last minute.
  599.  
  600.         s0...s9 These may be tested with the if %sN and if i%sN,string
  601.             commands, or expanded into a string using character escapes with
  602.             the "%sN" construction, where N is 1...9.  Use set param "" (empty
  603.             string enclosed by double quote characters) to set a string
  604.             parameter to empty.
  605.  
  606.         speed String representation of the serial port speed.
  607.  
  608.         statliner May be used to place a messgae in the right side of the term
  609.             function status line, replacing the information normally displayed
  610.             there.  If statliner begins with a space, it is placed at the far
  611.             right of the status line, after the information normally
  612.             displayed.  If statliner does not begin with a space, it is
  613.             processed for string substitution and character escapes, and then
  614.             placed at column 31 of the status line.
  615.  
  616.         Soft Keys The f1 to fa12 strings are executed by the respective keys
  617.             from the term function, review function, or command prompt.  In
  618.             the term function, soft keys definitions for fins, fdel, fhome,
  619.             fup, fdown, fpgup, fpgdn, fleft, fright, fend will override
  620.             ZCOMM's built-in definitions for these keys.  The built-in
  621.             definitions take precedence in the review function, conference
  622.             command, and at the command prompt.
  623.  
  624.             Computers with the 101 key extended keyboard and ROM BIOS support
  625.             allow ZCOMM to distinguish the cursor cluster keys and the two new
  626.             function keys labelled F11 and F12.  Extended keyboard cursor
  627.             cluster keys may be reassigned with the fcdel, fcdown, fcend,
  628.             fchome, fcins, fcleft, fcpgdn, fcpgup, fcright, and fcup string
  629.             parameters.  The fnp5 key may be assigned to the "5" key on the
  630.             numeric pad.[2] ZCOMM's character escapes can be used to encode
  631.             special characters, including spaces and/or tabs.
  632.  
  633.             EXAMPLE: set bs "\177";  set rubout "\b" Swap backspace and rubout
  634.             for VMS
  635.  
  636.  
  637.             The contents of these keys may be displayed by ALT-K or by the
  638.             keys command.
  639.  
  640.  
  641.         __________
  642.  
  643.          2. Visible on extended 101 key keyboards with extended BIOS support
  644.             only
  645.  
  646.  
  647.  
  648.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  649.  
  650.  
  651.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  652.         ZCOMM User Manual                                                  222
  653.  
  654.             If the assigned string begins with "@" (commercial at), the string
  655.             is executed as a command.  A soft key command called from the term
  656.             function should not end with a t or f command because this would
  657.             cause excessive recursion (calling the term function from within
  658.             the term function).  (Use the create or open instead.)
  659.  
  660.             In the conference command, soft keys are inserted into the editing
  661.             window unless they are commands, which are executed.
  662.  
  663.             Soft keys are not executed from review or the command prompt
  664.             unless they are commands (beginning with "@").
  665.  
  666.             EXAMPLE: set f3 @rb Assigns the rb command to F3.
  667.  
  668.  
  669.  
  670.         t   expands to the current time and date each time it is used.
  671.  
  672.             SEE ALSO: d, h string parameters
  673.  
  674.         tab Assigns a string or command to the TAB key.
  675.  
  676.         telno The current telephone number string.
  677.  
  678.             SEE ALSO: mcommand string parameter
  679.  
  680.         tmodes Contains optional term function modes to be applied to each
  681.             instance of the following term function commands: conference,
  682.             create, f, learn, t and F-2
  683.  
  684.             SEE ALSO: term funcion modes, Chapter 21.
  685.  
  686.         tmp A string variable which may be used to indicate the directory used
  687.             for data to be transmitted or received.
  688.  
  689.         tname * Contains the name of the last file sent with a protocol,
  690.             successful or not.
  691.  
  692.         txlog * The filename that contains the log of transmitted files.  If
  693.             empty (the default), this function is disabled.
  694.  
  695.         unrestrict Changes the password callers must match to allow remote
  696.             functions that are normally restricted such as erasing files,
  697.             listing and changing parameters, and changing to private
  698.             directories.  If unrestrict is empty (the default), the unrestrict
  699.             command will fail.
  700.  
  701.             SEE ALSO: unrestrict command
  702.  
  703.         w   Contains the day of the week (local time) as Mon, Tue, Wed, Thu,
  704.             Fri, Sat, or Sun.
  705.  
  706.  
  707.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  708.  
  709.  
  710.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  711.         ZCOMM User Manual                                                  223
  712.  
  713.         welcome is executed after the password (if any) has been demanded and
  714.             accepted.
  715.  
  716.             EXAMPLE: set welcome "@type welcome.txt; purgek; nulls 0"
  717.  
  718.  
  719.         xhelpfile The pathname that contains the online help file for host
  720.             mode commands.  This should be readable when ZCOMM is in
  721.             Restricted Host Operation.  Iff xhelpfile begins with the
  722.             character @, the rest of xhelpfile is treated as a Zcomm command.
  723.  
  724.             SEE ALSO: helpfile string parameters, help command
  725.  
  726.         xpassword * xpassword is a master password string that may be used to
  727.             generate a unique password for each system called.  xpassword is
  728.             encrypted by the name of the remote system (string parameter
  729.             remote) to generate a password unique to each remote system
  730.             called.  The generated password is transmitted as a result of a
  731.             Soft Key programmed with the \PXXXX construction described in
  732.             Chapter 26.  To view the generated password, set the remote string
  733.             parameter to the full remote system name as it appears in the
  734.             appropriate telephone directory (up to but not including any "-"
  735.             character), then keyboard lput \PXXXX from the main command
  736.             prompt.
  737.  
  738.             EXAMPLE: set f8 "\PXXXX" Programs F8 to transmit a 5 character
  739.             password from the term function.
  740.             Omen Technology Inc cannot accept responsibility for damages due
  741.             to the breaking of any codes used or generated by ZCOMM.
  742.  
  743.         uucplock Contains an optional UUCP lock file prefix for arbitrating
  744.             tty ports with the Unix UUCP program.  This is normally set
  745.             automatically, or from the UUCPLOCK environment variable.
  746.  
  747.             EXAMPLE: set uucplock "/usr/spool/locks/LCK.." Ee
  748.  
  749.         y*  All variable names beginning with "y" are reserved!
  750.  
  751.         y0...y127 Read only string parameters y0 to y127 expand to represent
  752.             lines displayed by the term function.  y0 corresponds to the
  753.             current partially finished line as displayed by the term function.
  754.             The last line referenced by y0...y127 becomes the y string
  755.             parameter current line used by the y, yb, and yf string
  756.             paramrters.  Each time the term function displays a newline from
  757.             the remote, the y parameter is set to the new, unfinished line
  758.             from the remote.
  759.  
  760.         y   expands to represent the y parameter current line.
  761.  
  762.         yb  Referencing the yb read only string parameter backs up the y
  763.             string parameter current line one line, and then represents that
  764.  
  765.  
  766.         (C) 1990 Omen Tech Inc                    Chapter 25 String Parameters
  767.  
  768.  
  769.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  770.         ZCOMM User Manual                                                  224
  771.  
  772.             line.
  773.  
  774.         yf  Referencing the yb read only string parameter advances the y
  775.             string parameter current line one line, and then represents that
  776.             line.
  777.  
  778.             SEE ALSO: H, h test conditions
  779.  
  780.         zmrxesc Requests the sending ZMODEM-90(TM) program[3] to escape the
  781.             specified additional control character(s).  Printing characters @
  782.             (40 hex) to _ (57 hex) escape the corresponding control characters
  783.             NULL (0) to US (1F) in both parities.
  784.  
  785.             EXAMPLE: set zmrxesc "@" Requests the sending program to escape
  786.             NULL (0) and NULL with 8th bit set (80 hex).
  787.  
  788.             SEE ALSO: zmtxesc string parameter
  789.  
  790.         zmtxesc Causes ZMODEM send commands to escape the specified additional
  791.             control character(s).  Printing characters @ (40 hex) to _ (57
  792.             hex) escape the corresponding control characters NULL (0) to US
  793.             (1F) in both parities.
  794.  
  795.             SEE ALSO: zmrxesc string parameter
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.         __________
  820.  
  821.          3. DSZ.COM does not support the zmrxesc string parameter.
  822.  
  823.  
  824.  
  825.         (C) 1990 Omen Tech Inc                    Chapter 25 Character Escapes
  826.  
  827.  
  828.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  829.         ZCOMM User Manual                                                  225
  830.  
  831.         26.  CHARACTER ESCAPES
  832.  
  833.         Some commands use strings with character escapes similar to those used
  834.         by the C programming language for describing string constants.  When
  835.         translating a string for character escapes, ZCOMM substitutes strings
  836.         (%svar) and then translates the result for backslash (\) encoded
  837.         character escapes.
  838.  
  839.                 String-Parameter    %svar
  840.                 Environment-Param   %SVAR
  841.                 % (per cent)        \045
  842.                 password*           \PXXXXXXX
  843.                 cleartext*          \C+clear-text+
  844.                 ciphertext*         \M+ciphertext+
  845.                 newline (LF)        \n
  846.                 return (CR)         \r
  847.                 tab (HT)            \t
  848.                 alarm (BEL)         \a
  849.                 backspace (BS)      \b
  850.                 form feed (FF)      \f
  851.                 escape (ESC)        \E
  852.                 transparent         \T
  853.                 lowercase           \L
  854.                 uppercase           \U
  855.                 octal byte          \nnn
  856.                 decimal byte        \dnnn
  857.                 hex byte            \xHH
  858.                 control char        \^C
  859.                 concatenation       \&
  860.                 backslash           \\
  861.  
  862.         To preserve compatibility with future TurboDial enhancements, a
  863.         backslash should not be followed by a character not listed above.
  864.  
  865.         %svar is replaced by the value of the corresponding string parameter.
  866.         The string parameter name must be written exactly, in the correct
  867.         case, with no extra letters or digits at the end.  Any non
  868.         alphanumeric character delimits the parameter name.  The DOS
  869.         environment is searched for parameters after exhausting the ZCOMM
  870.         string parameters.[1]
  871.  
  872.         \PXXXXXXX uses the xpassword and remote string parameters to generate
  873.         a password unique to each remote system, replacing each X character
  874.         with an upper case alphabetic character.* The xpassword parameter must
  875.         have at least as many characters as the number of characters used in
  876.  
  877.  
  878.         __________
  879.  
  880.          1. DOS environment parameters are upper case only
  881.  
  882.  
  883.  
  884.         (C) 1990 Omen Tech Inc                    Chapter 26 Character Escapes
  885.  
  886.  
  887.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  888.         ZCOMM User Manual                                                  226
  889.  
  890.         the \PXXXXX construction.
  891.  
  892.         SEE ALSO: xpassword, remote string parameters
  893.  
  894.         \M+ciphertext+ uses a cipher and the contents of the mpassword string
  895.         parameter to decrypt and transmit the cleartext equivalent to
  896.         ciphertext.  Ciphertext is delimited by the character immediately
  897.         following "M".
  898.  
  899.         \C+cleartext+ is treated as above, except for no decryption.
  900.  
  901.         EXAMPLE: \C+foobar+ is translated to foobar by ZCOMM's character
  902.         escape expansion.
  903.  
  904.  
  905.         A separate program pga encrypts instances of \C+cleartext+ into
  906.         \M+ciphertext+ according to a user specified master password.  Pga
  907.         also decrypts \M sequences to either cleartext, or encrypts them with
  908.         a new master password.  Please refer to Chapter 99.
  909.  
  910.         The \n, \r, \t, \b, \f, \E, \nnn, \xHH, \^C and \\ character escapes
  911.         generate the associated character.
  912.  
  913.         The \T character escape inhibits the processing of character eascpes
  914.         (but not string substitutions) in the remainder of the string.  It is
  915.         useful when the raw string contains backslashes which must not be
  916.         treated as character escapes.
  917.  
  918.         The \L character escape forces the rest of the string to lower case,
  919.         up to the next \ character.  Likewise, \U forces upper case.
  920.  
  921.         Octal byte escapes (\nnn) accept 1 to 3 octal digits terminated by the
  922.         first non octal digit.  Decimal byte escapes (\dnnn) accept 1 to 3
  923.         digits terminated by the first non digit.  Hex byte escapes (\xHH)
  924.         accept exactly 2 hex digits.  Control characters may also be
  925.         represented by \^C where C is the printing representation for Ctrl-C
  926.         and ^ is the circumflex character.
  927.  
  928.         The \& character escape generates nothing; it is useful to delimit the
  929.         lexical end of a string parameter name in string concatenation
  930.         applications.
  931.  
  932.  
  933.         26.1  Concatenating String Parameters
  934.  
  935.         To concatenate the contents of a string parameter with other
  936.         characters, one must escape the next character with a backslash if it
  937.         is a letter or digit.  The \& character escape expands to nothing.
  938.  
  939.         EXAMPLE: Assume string parameter s1 contains "foo".
  940.              putw "%s1\&bar"
  941.  
  942.  
  943.         (C) 1990 Omen Tech Inc                    Chapter 26 Character Escapes
  944.  
  945.  
  946.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  947.         ZCOMM User Manual                                                  227
  948.  
  949.         sends "foobar".
  950.              putw "%s1\142ar"
  951.         sends "foobar".
  952.              putw "%s1-skidoo"
  953.         sends "foo-skidoo".
  954.              putw "%s1bar"
  955.         is undefined.
  956.              putw "%s1\bar"
  957.         sends "foo<BS>ar"
  958.  
  959.         Failure to observe this property causes the sets and put commands to
  960.         give unexpected results.
  961.  
  962.         An encrypted password* is generated from the prototype string
  963.         \PXXXXXXXX where each X generates an upper case alphabetic character
  964.         by encrypting the leading letters of the remote system name by
  965.         xpassword.
  966.  
  967.         Only the leading letters of the remote system name are used to allow a
  968.         directory to have a number of alternate access methods for a given
  969.         system, yet produce the same automatic password.  For example,
  970.         "source", "source-telenet", "source300" would all generate the same
  971.         password, but "sourceb" would generate a different password.
  972.         xpassword must have at least as many characters as X characters in the
  973.         prototype string.
  974.  
  975.         Omen Technology Inc and sellers of ZCOMM cannot accept any
  976.         responsibility for damages due to the breaking of any ciphers used or
  977.         generated by ZCOMM.
  978.  
  979.         An arbitrary byte is generated by backslash followed by one to three
  980.         octal digits, backslash x followed by exactly two hex digits, or by
  981.         backslash circumflex followed by three decimal digits.  7 bit
  982.         transmission modes (7s, 7m, 7e, 7o) modify the parity bit of
  983.         characters transmitted by the term function during the put[w] command.
  984.  
  985.  
  986.         26.2  Quoting Strings
  987.  
  988.         Strings must be enclosed by double quotes (Shift ' on the IBM Personal
  989.         Computer) to allow white space and/or semicolon to be included in the
  990.         string.  If a string containing white space were not quoted, it would
  991.         be terminated by the first space or tab, and ZCOMM would consider the
  992.         rest of the intended string as another (incorrect) command.
  993.  
  994.         26.3  Layering of Escaped Characters
  995.  
  996.         Sometimes a string will be processed two (or more) times by ZCOMM's
  997.         character escapes.
  998.  
  999.              set fs2 "@accept s1 Name:; obey find\ \\n%s1\ %phones"
  1000.  
  1001.  
  1002.         (C) 1990 Omen Tech Inc                      Chapter 26 Quoting Strings
  1003.  
  1004.  
  1005.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1006.         ZCOMM User Manual                                                  228
  1007.  
  1008.         This example causes ZCOMM to ask for a name when Shift-F2 is typed.
  1009.         The name is read into string parameter S1, which is then used as part
  1010.         of the argument for the find command.  The find command searches the
  1011.         telephone directory for lines beginning with the string you just typed
  1012.         in.  To match only lines starting with the given string, a linefeed
  1013.         (\n) is prepended to the argument of the find command.  When the obey
  1014.         command executes, the backslash-space sequences translate to spaces,
  1015.         and the double backslash translates to a single backslash.
  1016.  
  1017.         The space after "find" and after "%s1" must be escaped because the
  1018.         obey command accepts a single string argument.  If these spaces were
  1019.         not escaped, the obey command would not "see" the rest of the line
  1020.         after "find".
  1021.  
  1022.         The find command performs its own character escape translation,
  1023.         changing the \n to a linefeed character.
  1024.  
  1025.         Since the find command performs string substitution on its list of
  1026.         files, it is not actually necesary to use the obey command here:
  1027.  
  1028.              set fs2 "@accept s1 Name:; find \n%s1 %phones"
  1029.  
  1030.         26.4  Regular Expressions
  1031.  
  1032.         Regular Expressions allow TurboDialTm scripts to search and parse data
  1033.         from files, the keyboard, and remote computers.  Regular expressions
  1034.         are used for string searching and parsing (splitting) with the ss and
  1035.         egrep commands, and the h and H test conditions.
  1036.  
  1037.         Many DOS and Unix programs use regular expressions to search and parse
  1038.         text, including grep, egrep, many flavors of EMACS, Brief, Epsilon,
  1039.         ed, vi, sed, lex, and Perl.  The effort expended in learning how to
  1040.         use regular expressions will be rewarded by the increased utility of
  1041.         dozens of programs and tools, not just ZCOMM.
  1042.  
  1043.         ZCOMM regular expressions give "magic" meanings to the characters \ *
  1044.         + ? . | ^ [ ] ( )
  1045.  
  1046.         A regular expression is zero or more branches, separated by |.  It
  1047.         matches anything that matches one of the branches.
  1048.  
  1049.         A branch is zero or more pieces, concatenated.  It matches a match for
  1050.         the first, if it is followed by a match for the second, etc.
  1051.  
  1052.         A piece is an atom possibly followed by *,+, or?.  An atom followed by
  1053.         * matches a sequence of 0 or more matches of the atom.  An atom
  1054.         followed by + matches a sequence of 1 or more matches of the atom.  An
  1055.         atom followed by ? matches a match of the atom, or the null string.
  1056.  
  1057.         An atom is a regular expression in parentheses (matching a match for
  1058.         the regular expression), a range (see below), .  (matching any single
  1059.  
  1060.  
  1061.         (C) 1990 Omen Tech Inc                  Chapter 26 Regular Expressions
  1062.  
  1063.  
  1064.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1065.         ZCOMM User Manual                                                  229
  1066.  
  1067.         character), ^ (matching the null string at the beginning of the input
  1068.         string), $ (matching the null string at the end of the input string),
  1069.         a \ followed by a single character (matching that character), or a
  1070.         single character with no other significance (matching that character).
  1071.  
  1072.         A range is a sequence of characters enclosed in [].  It normally
  1073.         matches any single character from the sequence.  If the sequence
  1074.         begins with ^, it matches any single character not from the rest of
  1075.         the sequence.  If two characters in the sequence are separated by -,
  1076.         this is shorthand for the full list of ASCII characters between them
  1077.         (e.g. [0-9] matches any decimal digit).  To include a literal ] in the
  1078.         sequence, make it the first character (following a possible ^).  To
  1079.         include a literal -, make it the first or last character.
  1080.  
  1081.         EXAMPLE: One can match separators (space, tabs, punctuation) by
  1082.         excluding them from a range [^0-9A-Za-z] That means "match anything
  1083.         except A to Z, or a to z, or 0 to 9.[2]
  1084.  
  1085.  
  1086.         If a regular expression could match two different parts of the input
  1087.         string, it will match the one which begins earliest.  If both begin in
  1088.         the same place but match different lengths, or match the same length
  1089.         in different ways, life gets messier, as follows.
  1090.  
  1091.         In general, the possibilities in a list of branches are considered in
  1092.         left-to-right order, the possibilities for *, +, and ? are considered
  1093.         longest-first, nested constructs are considered from the outermost in,
  1094.         and concatenated constructs are considered leftmost-first.  The match
  1095.         that will be chosen is the one that uses the earliest possibility in
  1096.         the first choice that has to be made.  If there is more than one
  1097.         choice, the next will be made in the same manner (earliest
  1098.         possibility) subject to the decision on the first choice.  And so
  1099.         forth.
  1100.  
  1101.         For example, `(ab|a)b*c' could match `abc' in one of two ways.  The
  1102.         first choice is between `ab' and `a'; since `ab' is earlier, and does
  1103.         lead to a successful overall match, it is chosen.  Since the `b' is
  1104.         already spoken for, the `b*' must match its last possibility-the empty
  1105.         string-since it must respect the earlier choice.
  1106.  
  1107.         In the particular case where no `|'s are present and there is only one
  1108.         *, +, or ?, the net effect is that the longest possible match will be
  1109.  
  1110.  
  1111.         __________
  1112.  
  1113.          2. Ranges in regular expressions are in ASCII collating order.  For
  1114.             example, the range [A-z] matches all the letters in either case,
  1115.             PLUS all the funny characters between Z and a in the ASCII code
  1116.             chart.
  1117.  
  1118.  
  1119.  
  1120.         (C) 1990 Omen Tech Inc                  Chapter 26 Regular Expressions
  1121.  
  1122.  
  1123.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1124.         ZCOMM User Manual                                                  230
  1125.  
  1126.         chosen.  So `ab*', presented with `xabbbby', will match `abbbb'.  Note
  1127.         that if `ab*' is tried against `xabyabbbz', it will match `ab' just
  1128.         after `x', due to the begins-earliest rule.  (In effect, the decision
  1129.         on where to start the match is the first choice to be made, hence
  1130.         subsequent choices must respect it even if this leads them to less-
  1131.         preferred alternatives.)
  1132.  
  1133.         Case is significant in regular expressions.  Ranges may be used to
  1134.         match characters in either case.  The regular expression [aA]ny
  1135.         matches "any" or "Any".
  1136.  
  1137.         The regular expression subroutines and much of this description were
  1138.         written at the University of Toronto.
  1139.  
  1140.         EXAMPLE: If s0 contains 1234567890 Hello There then the command
  1141.  
  1142.              ss s0 "(12.*0 ).*The(..)"
  1143.  
  1144.         results in
  1145.  
  1146.              z1='1234567890 '
  1147.              z2='re'
  1148.  
  1149.         String parameter z0 contains the entire matched string, and may be
  1150.         used for testing the success of the match with an if %z0 goto foundit
  1151.         command.
  1152.  
  1153.  
  1154.         EXAMPLE:      string = 'Here are 345 dots'
  1155.              ss string "([0-9]+)"
  1156.              z0= '345'
  1157.  
  1158.  
  1159.  
  1160.         EXAMPLE: Sometimes one needs to shorten a string which is too long.
  1161.         The following loops while the length of subject is greater then 24.
  1162.         One character is chopped off the end of the string each time the ss
  1163.         command is executed.  The parentheses contain the portion of the
  1164.         string that should be retained.
  1165.  
  1166.              while %sbj>24 ss sbj "(.*)[A-z]" sets sbj "%z1"
  1167.  
  1168.         An alternative:
  1169.  
  1170.              if %sbj>24 ss sbj ".........................";  sets sbj "%z1"
  1171.  
  1172.  
  1173.         26.4.1  Sample Script - Browse/Download  The kcisdl.t script downloads
  1174.         a file after it has been listed by the Compuserve Special Interest
  1175.         Group DownLoad "bro" command.  The kcisdl.t script should be bound to
  1176.         F3 with
  1177.  
  1178.  
  1179.         (C) 1990 Omen Tech Inc                  Chapter 26 Regular Expressions
  1180.  
  1181.  
  1182.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1183.         ZCOMM User Manual                                                  231
  1184.  
  1185.              set f3 "@source kcisdl.t"
  1186.  
  1187.         The Compuserve "browse" command displays file information and then
  1188.         invites the user to download it:
  1189.  
  1190.         [73125,617]
  1191.         P3YAM.ARC/binary          09-Jul-87 3224               Accesses: 13
  1192.             Keywords: YAM PRO-YAM ZCOMM YAMDEMO
  1193.  
  1194.             Sample YAMscript, for handling messages and file up/downloads
  1195.             with the popular PCBoard bulletin board systems.
  1196.  
  1197.         Disposition !
  1198.  
  1199.         Keyboarding F3 activates the script to scan the circular buffer for
  1200.         the file name and download the file.
  1201.  
  1202.              if !h^\[ echo "Can't find Account Number"; return
  1203.  
  1204.         The h test condition searches backwards through the circular buffer
  1205.         for a left square bracket ([).  Since "[" is a magic character for
  1206.         regular expressions, it must be escaped.  The "^" magic character
  1207.         anchors the search to the beginning of the line.  The script prints a
  1208.         message and exits if the search was unsuccessful.
  1209.  
  1210.              ss yf "^[^     /]+"
  1211.  
  1212.         The yf string parameter accesses the next line in the circular buffer.
  1213.         This line, which follows the uploader's account number, contains the
  1214.         file name.  The ss command extracts the file name, discarding the rest
  1215.         of the line starting with a possible file type designation
  1216.         ("/binary").  As above, "^" matches the beginning of the line.  The
  1217.         "[^    /]+" phrase matches a class of characters ("[") excluding ("^")
  1218.         space, tab, and "/".  The trailing "+" matches one or more instances
  1219.         of the search string, resulting in all characters starting at the
  1220.         beginning of the line up to but not including the first space, tab, or
  1221.         "/".
  1222.  
  1223.              setc s0 "\L%z0"
  1224.  
  1225.         Translate the file name in string parameter z0 to lower case.  (This
  1226.         script is also used on Unix systems where most file names are lower
  1227.         case.)
  1228.  
  1229.              if f%s0 echo "%z0 Exists: No Action taken."; return
  1230.              echo "File name is %s0"
  1231.              put "\025dow %s0/PRO:B\r"
  1232.              pat 2i "\nFile name"
  1233.              wait -f20
  1234.              if 2 put "\025%s0\r"
  1235.              ena -C;  return
  1236.  
  1237.  
  1238.         (C) 1990 Omen Tech Inc                  Chapter 26 Regular Expressions
  1239.  
  1240.  
  1241.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1242.         ZCOMM User Manual                                                  232
  1243.  
  1244.         The remainder of the script generates commands using the parsed file
  1245.         name.  The script enables Compuserve's B Protocol, allowing the
  1246.         mainframe to initiate the download.
  1247.  
  1248.  
  1249.         26.4.2  Magic Characters: Synopsis  ZCOMM regular expressions give
  1250.         magic meanings to the characters \ * + ? . | ^ $ [ ] ( ) as follows:
  1251.  
  1252.         *  0 or more
  1253.  
  1254.         +  1 or more
  1255.  
  1256.         ?  0 or 1
  1257.  
  1258.         .  Any single character
  1259.  
  1260.         |  Branch separator (for matching)
  1261.  
  1262.            EXAMPLE: ss s0 "(^cc: *|^ *)([^ ]+)" The first () grouping matches
  1263.            either "cc:" or a space at the begining of the line in s0.
  1264.  
  1265.  
  1266.         ^  Matches beginning of line
  1267.  
  1268.         $  Matches end of line
  1269.  
  1270.         [] Single character(s) in a class
  1271.  
  1272.         [^] Single character(s) not in a class
  1273.  
  1274.         () Grouping (for parsing)
  1275.  
  1276.         ZCOMM regular expressions closely resemble those used by the Unix
  1277.         egrep command.  The Unix ed and vi editors use regular expressions
  1278.         with a slightly different syntax.  Epsilon and Brief editors for DOS
  1279.         also use regular expressions.
  1280.  
  1281.         Regular Expression pattern matching is a software disicipline unto
  1282.         itself.  Different program behave differently when matching ambiguous
  1283.         patterns.  A number of Unix related books contain useful information
  1284.         on the uses of Regular Expressions.
  1285.  
  1286.         In the meantime, practice makes perfect.  Setup some string variables
  1287.         with strings to search and parse, and experiment with different ss
  1288.         command search patterns.  A full screen editor that uses regular
  1289.         expressions is a handy learning aid.
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.         (C) 1990 Omen Tech Inc                      Chapter 26 Test Conditions
  1298.  
  1299.  
  1300.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1301.         ZCOMM User Manual                                                  233
  1302.  
  1303.         27.  TEST CONDITIONS (if, on, while commands)
  1304.  
  1305.         The following conditions may be tested with the if, on and while
  1306.         commands.
  1307.  
  1308.         Where a string parameter is indicated, it is an error to specify a
  1309.         nonexistient string parameter.
  1310.  
  1311.         When an immediate string argument is indicated, that argument is
  1312.         delimited only by white space.  As a result, if "is1,hello&&L<5"
  1313.         command ...  won't work as expected, but if is1,hello if "L<5" command
  1314.         ...  will work.
  1315.  
  1316.         Some of the test conditions described below may be used with ">",
  1317.         "==", "!=", or "<" for numeric comparisions.  The right hand argument
  1318.         of a numeric comparision may be:
  1319.  
  1320.            + A decimal number.
  1321.  
  1322.              EXAMPLE:      if "L>5" abort
  1323.  
  1324.  
  1325.            + A string paremeter which contains a decimal number.
  1326.  
  1327.              EXAMPLE: set maxloops "5"
  1328.                   if "L>maxloops" abort
  1329.  
  1330.  
  1331.            + The length of the string stored in a string parameter, denoted by
  1332.              a leading % character.
  1333.  
  1334.              EXAMPLE: set s1 "Hello"
  1335.                   set s2 "foo"
  1336.                   if "%s1>%s2" echo "%s1 is longer than %s2"
  1337.  
  1338.  
  1339.         These comparisions should be quoted in case a future version of ZCOMM
  1340.         implements output redirection in the same manner as COMMAND.COM or the
  1341.         Unix shell.  On 16 bit machines, 16 bit numerical values are used in
  1342.         comparisions; numbers greater than 32767 should not be used.
  1343.  
  1344.         Numeric conditions may also be tested against a bit mask using the &
  1345.         operator.
  1346.  
  1347.         EXAMPLE:      if s&64 echo "Caps Lock is ON"
  1348.  
  1349.  
  1350.  
  1351.         0...25 The specified pattern (see pattern command) was matched in the
  1352.           last wait command.
  1353.  
  1354.  
  1355.  
  1356.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1357.  
  1358.  
  1359.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1360.         ZCOMM User Manual                                                  234
  1361.  
  1362.         %svar The specified string parameter svar (see the set command) is non
  1363.           empty.  May be used with ">", "==", or "<" for numeric comparisions
  1364.           of the string length of svar.
  1365.  
  1366.           EXAMPLE: if %s1 putw %s1
  1367.  
  1368.  
  1369.           EXAMPLE: if %symbol>4 ss symbol "(.*)[A-z]"; sets symbol %z1
  1370.           If the length of the string in string variable symbol exceeds 4,
  1371.           chop off the rightmost letter.
  1372.  
  1373.  
  1374.         ? The ?  numeric parameter counts the number of files sent or received
  1375.           with a protocol, and the number of lines matched by the find
  1376.           command.  The fFILE test condition (if true) assigns the file length
  1377.           to the ?  parameter.  On 16 bit computers, file lengths greater than
  1378.           32767 are represented as 32767.  With certain operating systems, the
  1379.           exit status of a subprogram accessed by a DOS Gateway is stored in
  1380.           the ?  numeric parameter.
  1381.  
  1382.           The ?  numeric parameter may then be tested with the ?  test
  1383.           condition.  It can be used with ">", "==", or "<" for numeric
  1384.           comparisions.
  1385.  
  1386.           EXAMPLE: p?0 find fizzbin *.txt; if ? echo "Found fizzbin"
  1387.  
  1388.  
  1389.           SEE ALSO: ?  numeric parameter
  1390.  
  1391.         B True iff Ctrl-Break has been pressed since the last purgek command.
  1392.  
  1393.         Csvar True iff string parameter svar contains any control characters
  1394.           less than 040 (hex 20) or rubout.
  1395.  
  1396.           EXAMPLE: if Cs0 echo "Please Retype
  1397.  
  1398.  
  1399.         E True iff the elapsed time in seconds is non 0.  Used with ">", "==",
  1400.           or "<" for numeric comparisions.
  1401.           NOTE: Elapsed time may be off by up to one second.  On 16 bit
  1402.           machines, the maximum testable value for elapsed time is 32767
  1403.           seconds.
  1404.  
  1405.           EXAMPLE: if "E>300" off Disconnects the modem if the elapsed time is
  1406.           greater than 300 seconds.
  1407.  
  1408.  
  1409.           SEE ALSO: restime command
  1410.  
  1411.         F>N True iff more than N kilobytes (1 kilobyte = 1024 bytes) of free
  1412.           space remain on the default drive.
  1413.  
  1414.  
  1415.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1416.  
  1417.  
  1418.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1419.         ZCOMM User Manual                                                  235
  1420.  
  1421.           EXAMPLE: if "F>2000" usq hugefile.q
  1422.  
  1423.  
  1424.         Hregular-expression Searches backward thru the last 127 lines of
  1425.           circular buffer for the next line matching regular-expression.  If
  1426.           the search is successful, the y string parameter points to the
  1427.           matched line.
  1428.  
  1429.           The N test condition may be used to test the number of lines that
  1430.           were searched before finding a match.
  1431.  
  1432.           EXAMPLE: To allow processing of information such as:
  1433.                5 Review folder UFO  (0 stories) (a typical news item in the
  1434.           Executive News Service), one must scan for lines with a certain
  1435.           pattern (in this case the character "(" immediately followed by
  1436.           1...9 indicating 1 or more stories).
  1437.  
  1438.                while "H\([1-9]" ss (rest of line)
  1439.  
  1440.           The above searches backwards for the next line containing "(1" to
  1441.           "(9".  Note that "(" is a magic character in regular-expressions,
  1442.           and must be escaped.
  1443.  
  1444.  
  1445.           The h test condition is similar, but starts the search with the last
  1446.           displayed line.
  1447.  
  1448.  
  1449.           SEE ALSO: ens.t and kcdisl.t scripts, regular-expressions, y, yb,
  1450.           y0...y127 string parameters, N test condition
  1451.  
  1452.         Isvara,svarb Tests whether the contents of string variable svara are
  1453.           IDENTICAL to the contents of string variable svarb.  Case is
  1454.           significant.
  1455.  
  1456.           EXAMPLE: if Is0,s9 goto exactmatch
  1457.  
  1458.  
  1459.           SEE ALSO: i test condition (compares a string parameter and an
  1460.           immediate string)
  1461.  
  1462.         Jsvar,string Tests whether any of the characters in the immediate
  1463.           string string appear one or more times in string parameter svar.
  1464.  
  1465.           EXAMPLE:
  1466.           if "Js0,!@#$%^&()_" echo "No funny characters"; goto getname
  1467.  
  1468.  
  1469.         L>N True iff this while command has made more then N loops.
  1470.  
  1471.           EXAMPLE: while !1 put "\r" wait ife "L>5" off Disconnects the modem
  1472.  
  1473.  
  1474.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1475.  
  1476.  
  1477.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1478.         ZCOMM User Manual                                                  236
  1479.  
  1480.           if the while command has sent more than five "\r"'s.  The "L>N"
  1481.           should be quoted in case a future version of ZCOMM implements output
  1482.           redirection in the same manner as command.com or the Unix shell.
  1483.  
  1484.  
  1485.         N>N True iff the last h or H condition searched more than N lines
  1486.           before a match.
  1487.  
  1488.           SEE ALSO: h and H test conditions
  1489.  
  1490.         Q>N True iff the number of active queue entries is greater than N.
  1491.  
  1492.         R>N After a zcommand "" command, evaluates true iff more than N
  1493.           kilobytes (1 kilobyte = 1024 bytes) of free space remain on the
  1494.           remote system's default disk drive.
  1495.  
  1496.           EXAMPLE: zcommand ""; if "R>1000" sz -y hugefile
  1497.  
  1498.  
  1499.         S>N True iff the transmission speed is greater N bits per second.
  1500.  
  1501.           EXAMPLE: if S>2400 put "set verbose\r"
  1502.  
  1503.  
  1504.         U True if ZCOMM was unrestricted when the first level of the current
  1505.           set of scripts was activated.
  1506.  
  1507.           SEE ALSO: u test condition
  1508.  
  1509.         asvar The numeric value of the specified string parameter svar is non
  1510.           zero.  May be used with ">", "==", or "<" for numeric comparisions.
  1511.           The string variable may contain leading spaces or tabs, an optional
  1512.           + or - sign, and digits.
  1513.  
  1514.           EXAMPLE: if "as1==30" goto seen30 Performs the goto if s1 contains
  1515.           "30".
  1516.  
  1517.  
  1518.         bTIME True if the current time is Before TIME.  TIME is written in the
  1519.           form [yy[mm[dd]]]hhmm.  No further conditions may be given in the if
  1520.           statement after the b condition.
  1521.  
  1522.           EXAMPLE: if b2300 return Returns from the script if the time is
  1523.           before 11 p.m.
  1524.  
  1525.  
  1526.           EXAMPLE: if b8512250900 return Returns from the script if the
  1527.           date/time is before 9 a.m.  Christmas day in 1985.
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1534.  
  1535.  
  1536.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1537.         ZCOMM User Manual                                                  237
  1538.  
  1539.         c Carrier detect is present on the modem port.
  1540.  
  1541.           EXAMPLE: if !c goto lostit
  1542.  
  1543.           NOTE: On Unix systems, a dis -d command must be given to "arm" the
  1544.           system to detect carrier loss.
  1545.  
  1546.           SEE ALSO: d mode
  1547.  
  1548.         d{2?ADLMPSTXZacdflmprtu} True iff the corresponding configuration is
  1549.           true:
  1550.  
  1551.             2 ZCOMM is executing under OS/2 protected mode.
  1552.  
  1553.             ? True if an unrecoverable error or manual abort was detected on
  1554.               the last protocol file transfer.
  1555.  
  1556.             A True if the term function's emulation Alternate Keypad Mode mode
  1557.               is on.
  1558.  
  1559.             C>N Numeric, true if the display column is greater than N.
  1560.  
  1561.             D The script is running on a demonstration program.
  1562.  
  1563.             H True iff no software flow control has been specified by the
  1564.               handshake command.  Assuming the last handshake command
  1565.               correctly reflects flow control settings on any modems or
  1566.               networks involved, this test condition will give an indication
  1567.               that the transmission path should not intercept XON and XOFF
  1568.               characters.
  1569.  
  1570.             L True if ZCOMM is recording TurboLearn(TM) script information
  1571.               (learn command).
  1572.  
  1573.             M True if term function Keyboard Mapping is on ("display mapkb").
  1574.  
  1575.             P Packet state is active (X.PC driver).
  1576.  
  1577.             R>N Numeric, true if the display row is greater than N.
  1578.  
  1579.               EXAMPLE:      set fa10
  1580.               @pat 23cp \n "@lput \E[K if dR>23 lput \E[H\E[K"
  1581.               When the Alt-F10 key is struck, a search pattern (23) is set.
  1582.               This searches for each linefeed from the remote and performs a
  1583.               local display clear to end of line on each new line.  If the
  1584.               display row exceeds 23, jump to the top of the screen and clear
  1585.               the first line.  This "trick" may be used to prevent scrolling
  1586.               on displays that smear badly.
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1593.  
  1594.  
  1595.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1596.         ZCOMM User Manual                                                  238
  1597.  
  1598.             S The script is running on a shareware program (e.g., ZCOMM).
  1599.  
  1600.             T True if a higher level of the script has called the Term
  1601.               Function.  When True, the script should return to the Term
  1602.               Function; the script should not invoke the Term Function.
  1603.  
  1604.             X The X.PC commands are available.
  1605.  
  1606.               EXAMPLE: if dX goto xpclogin
  1607.  
  1608.  
  1609.             Z The ZMODEM commands are available.
  1610.  
  1611.               EXAMPLE: if dZ sz -n logfile
  1612.  
  1613.  
  1614.             a>N True iff ZCOMM was called from the operating system with more
  1615.               than N arguments (counting the program name).
  1616.  
  1617.             c The color/graphics display is selected.
  1618.  
  1619.             d ZCOMM is executing under DOS or OS/2.
  1620.  
  1621.             f The program is running in the foreground.  On DOS, a script is
  1622.               considered to be running in the foreground when it is NOT called
  1623.               by the Callout Queue as described in Chapter 28.  A program
  1624.               running in the background is unlikely to have an operator
  1625.               available for interaction.
  1626.  
  1627.               Under Unix, a script is considered to be running in the
  1628.               background if it is detached from possible keyboard input, and
  1629.               ZCOMM will exit when it reaches the main command prompt.
  1630.  
  1631.               SEE ALSO: fg, bg commands
  1632.  
  1633.             l>N True iff the script level (nesting) is greatern than N.
  1634.  
  1635.             m The monochrome display is selected.
  1636.  
  1637.             p The program has a non zero serial number.
  1638.  
  1639.             r Data Set Ready (DSR) on the modem is active.
  1640.  
  1641.             t ZCOMM is running under a Topview or DESQview virtual screen
  1642.               which may be smaller than the physical screen size
  1643.  
  1644.             u ZCOMM is executing under Unix/Xenix.
  1645.  
  1646.             v ZCOMM is executing under the VMS operating system.
  1647.  
  1648.  
  1649.  
  1650.  
  1651.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1652.  
  1653.  
  1654.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1655.         ZCOMM User Manual                                                  239
  1656.  
  1657.         e True iff an t, sz, or rz command terminated with an error, or if the
  1658.           term function has detected framing or overrun errors.  Unless the q
  1659.           file transfer option is used, each file skipped as a result of
  1660.           ZMODEM selective transfer increments this parameter.
  1661.  
  1662.           This is the e numeric parameter, and is reset with each call
  1663.           command.  It can also be reset with a pe0 command.
  1664.  
  1665.           SEE ALSO: e numeric parameter
  1666.  
  1667.         e>N True iff the e parameter (number of errors) is greater than N.
  1668.  
  1669.           EXAMPLE: if "e>5" off Disconnects the modem if more than 5 errors
  1670.           have been counted.
  1671.  
  1672.           The "e>N" should be quoted in case a future version of ZCOMM
  1673.           implements output redirection in the same manner as command.com or
  1674.           the Unix shell.
  1675.           NOTE: The e parameter is not compared within the term function, so
  1676.           "detection" may be delayed.
  1677.  
  1678.           SEE ALSO: e numeric parameter
  1679.  
  1680.         fFILE (No space between f and FILE).  Tests whether FILE exists as a
  1681.           normal readable file (not a directory or hidden file).  FILE is
  1682.           expanded for string parameters.  If the test is successful, the ?
  1683.           numeric parameter (testable with the ?  test condition) is set to
  1684.           the file length. [1] The N test condition reflects the number of
  1685.           links to the file.
  1686.  
  1687.           EXAMPLE: if fnit put "message\r"; f -xp nit; put "\r\336y" If nit
  1688.           exists, give a "message" command, upload the file, then send
  1689.           carriage return, pause, and the letter "y".
  1690.  
  1691.           When used in a numeric context, the fFILE test represents the size
  1692.           of the file in full kilobytes (1024 bytes), or 1, whichever is
  1693.           greater.
  1694.  
  1695.           EXAMPLE: if ffoo.bar>30 echo "File Longer than 30kb"
  1696.  
  1697.  
  1698.           EXAMPLE: if fspy.kgb if !? echo "Zero Length File"
  1699.  
  1700.           SEE ALSO: obey command
  1701.  
  1702.  
  1703.         __________
  1704.  
  1705.          1. On 16 bit computers, file lengths greater than 32767 are
  1706.             represented as 32767.
  1707.  
  1708.  
  1709.  
  1710.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1711.  
  1712.  
  1713.         Version 17.78 TurboDial 2.35            Universal Line Printer Edition
  1714.         ZCOMM User Manual                                                  240
  1715.  
  1716.         g Tests whether term function file transmission flow is go (not
  1717.           stopped by an XOFF character).
  1718.  
  1719.           EXAMPLE: if !g echo "Remote has not sent XON"; pg1
  1720.  
  1721.  
  1722.           SEE ALSO: g mode, term function XON and XOFF
  1723.  
  1724.         hregular-expression Please refer to the Hregular-expression test
  1725.           condition.
  1726.  
  1727.         isvar,string Tests whether the contents of string variable svar are
  1728.           identical to the immediate string string.  Case is significant.  No
  1729.           further conditions may be given in the if statement after the i
  1730.           condition.  This test is useful in designing menu applications.  The
  1731.           menu script menu.hst uses this test condition extensively.
  1732.  
  1733.           EXAMPLE: accept s1 Choice:; if is1,a goto choicea Executes a goto
  1734.           choicea if the user keyboards an a in response to the "Choice:"
  1735.           prompt.
  1736.  
  1737.  
  1738.           SEE ALSO: I test condition (compares two string parameters)
  1739.  
  1740.         jsvar,string Tests whether the immediate string string is a substring
  1741.           of (contained somewhere within) the contents of string variable
  1742.           svar.  Lower case characters in string match characters in either
  1743.           case.  Upper case characters in string match upper case characters.
  1744.           No further conditions may be given in the if statement after the j
  1745.           condition.  This test is useful in designing menu applications, and
  1746.           for examining message lines read with the grab command.
  1747.  
  1748.           EXAMPLE: grab s1; if js1,sig= goto endofsig Executes a goto if the
  1749.           line read by the grab command contained "sig=" or "This SIG=".
  1750.  
  1751.  
  1752.         k One or more characters have been received from the keyboard and are
  1753.           in the interrupt queue awaiting processing.  Note: Keyboard
  1754.           characters are transmitted to the remote by the term function,
  1755.           except during a put command.
  1756.  
  1757.         l True if the line printer is ready to accept a character.
  1758.  
  1759.         m One or more characters have been received from the modem and are in
  1760.           the interrupt queue awaiting processing.
  1761.  
  1762.         n No pattern was matched as a result of the last wait command or
  1763.           search pending term function.  n detects a search timeout, loss of
  1764.           carrier detect signal, or manual exit with F1 or ALT-X.
  1765.  
  1766.  
  1767.  
  1768.  
  1769.         (C) 1990 Omen Tech Inc                      Chapter 27 Test Conditions
  1770.  
  1771.